package br.upis.criacional.factory.method.Montadora.Fabrica;

import br.upis.criacional.factory.method.Montadora.Abstrato.Acessorio;
import br.upis.criacional.factory.method.Montadora.Abstrato.FabricaDeAcessorios;
import br.upis.criacional.factory.method.Montadora.Concreto.Banco;
import br.upis.criacional.factory.method.Montadora.Concreto.Espelho;
import br.upis.criacional.factory.method.Montadora.Concreto.Farol;
import br.upis.criacional.factory.method.Montadora.Concreto.Pneu;
import br.upis.criacional.factory.method.Montadora.Enum.Acessorios;

public class FabricanteFiat extends FabricaDeAcessorios {

	@Override
	protected Acessorio produzAcessorio(Acessorios acessorio) {
		Acessorio a = null;
		switch(acessorio){
			case BANCO:
				a = new Banco("Banco acolchoado Fiat");
				break;
			case ESPELHO:
				a = new Espelho("Espelho refrator Fiat");
				break;
			case FAROL:
				a = new Farol("Farol de LED Fiat");
				break;
			case PNEU:
				a = new Pneu("Pneu reciclado Fiat");
				break;
		}
		return a;
	}

	@Override
	public boolean confirmaProducao(String acessorio) {
		if (acessorio.equals("BANCO") || acessorio.equals("ESPELHO")
		 || acessorio.equals("FAROL") || acessorio.equals("PNEU")) return true;
		return false;
	}
		
	/*	
	@Override
	protected Farol produzFarol() {
		return new Farol("Farol de LED Fiat");
	}

	@Override
	protected Banco produzBanco() {
		return new Banco("Banco acolchoado Fiat");
	}

	@Override
	protected Pneu produzPneu() {
		return new Pneu("Pneu urbano Fiat");
	}

	@Override
	protected Espelho produzEspelho() {
		return new Espelho("Espelho refrator Fiat");
	}
	*/

}
